The present embodiments relate to computer networks and are more particularly directed to allocating bridge priorities in a bridged network.
Bridged networks have found favor in many applications in the networking industry for various reasons. A bridged network generally includes a number of nodes, some of which are bridge nodes and which have connectivity to other nodes in the network. During network learning, each bridge node typically broadcasts on all of its ports, that is, the bridge node transmits the same frame data out of all of its ports. In this manner, another node that receives the frame, but which is not the destination node as indicated by information in the frame may drop the frame; in contrast, when another node receives the frame and is the intended destination node as indicated by information in the frame, that receiving node replies to the transmitting bridge node. After repeating this process with numerous frames and as between various bridge nodes, each bridge node is informed of its connectivity to other bridge nodes, such as by maintaining one or more tables that record information received, or derived from, bridge nodes that replied during the learning process. In addition to bridge nodes, the bridged network includes other nodes, which are referred to with varying names such as end user stations or client nodes. With the connectivity of the bridge nodes and client nodes, one or more bridge nodes connect two or more client nodes together and forward frames between the client nodes. Thus, the client nodes communicate with each other as if they are directly attached to the same physical network and with transparency of the bridge node(s) between them.
Within a bridged network, an additional layer of routing may be imposed. As one example, such routing is imposed with one or more spanning trees that thereby define the path along which frames may be communicated within the bridged network. Thus, each spanning tree imposes an additional level of routing restraint for a frame communicated along that tree. Typically such restraints are imposed to prevent looping of a network frame, that is, preventing multiple copies of a same frame from reaching a same bridge node, as could otherwise occur if a loop exists in the physical connectivity of the network. For example, consider a ring of bridge nodes, wherein each bridge node is connected to another bridge node and the entirety of the bridge nodes forms a ring. Without an additional constraint, if one bridge node in the ring broadcasts a frame, and assuming all nodes pass onward the broadcast frame along the ring, then two copies of the broadcast frame will reach (or “loop” to) the destination node. A spanning tree, however, defines a route as between the bridge nodes, and may be implemented in the ring as merely an imposed block between two bridge nodes on the ring. Thus, when a bridge node adjacent the block receives a frame, it is prevented from transmitting the frame onward in the direction of the block. As a result, only one copy of the broadcast frame may reach the destination node.
By way of further background, the prior art includes a different bridge priority assigned to each bridge node, and the priority affects the time for re-convergence when a failure (e.g., breakage) occurs in the bridged network. In general and as detailed below, when a failure occurs, control frames are communicated among the bridge nodes that are still connected within the spanning tree in a process known as re-convergence. For example, each control frame in one approach is known as a bridge protocol data unit (“BPDU”), which is a message that is exchanged across the bridges nodes and contains information including ports, addresses, and priorities, all of which are used to direct the frame to the proper destination. Once re-convergence is complete, a new spanning tree is established whereupon additional frames may be communicated, at least until the failure, which caused the re-convergence, is resolved. Given the existence of re-convergence, one goal in the art is to minimize the time required for a network to re-converge. Various approaches are known in the art for attempting to minimize this time. For example, in one approach to minimize the number of control frames that are exchanged, modification to the transmission limiters are used that decrease the re-convergence times. A transmission limiter is a function that attempts to limit the number of control frames (e.g., BPDUs) that are permitted to be transmitted (or generated) from a port over a given amount of time, so that the network is not overburdened at one time with too many control frames. As another example, faster re-convergence methods have been proposed for ring topologies, but only as a proprietary solution.
While the preceding concepts have proven workable in various bridged network environments, they also include drawbacks. For example, the re-convergence times in prior art approaches still may be into the range of seconds. This duration may be undesirable and indeed may be unacceptable for certain implementations. As another example, proprietary approaches for ring topologies may offer faster re-convergence, but these approaches are non-standard based proprietary solutions and are applicable only for certain ring topologies. Accordingly, greater optimization in reducing re-convergence time based on other considerations, as is achieved by the preferred embodiments, is further detailed below.